home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1997 February: Technology Seed / Mac Tech Seed Feb '97.toast / OpenDoc 1.2b2c1 / OpenDoc / Interfaces / C / ODDesc.h < prev    next >
Encoding:
C/C++ Source or Header  |  1997-02-13  |  6.9 KB  |  255 lines  |  [TEXT/MPS ]

  1.  
  2. /*
  3.  * This file was generated by the SOM Compiler.
  4.  * FileName: ODDesc.h.
  5.  * Generated using:
  6.  *     SOM Precompiler somipc: 2.18
  7.  *     SOM Emitter emith.dll: 2.33
  8.  */
  9.  
  10. /*
  11.  * 
  12.  *  Classes defined in this interface
  13.  * 
  14.  */
  15.  
  16.  
  17. #ifndef SOM_ODDesc_h
  18. #define SOM_ODDesc_h
  19.  
  20.  
  21. #include <som.h>
  22.  
  23. /*
  24.  * -- This emitter treats Method Tokens as Thunks by default.
  25.  * -- Use the sc modifier "nothunks" to change this default
  26.  */
  27. #undef somresolve_
  28. #define somresolve_(obj,mToken) ((somMethodProc*)((void)obj, mToken))
  29.  
  30. /*
  31.  * Define the class name as an object type
  32.  */
  33. #ifndef ODDesc
  34. #define ODDesc SOMObject
  35. #endif
  36. #include <ODObject.h>
  37.  
  38. /*
  39.  * Start of user-defined types:
  40.  */
  41. #ifndef SOMClass
  42.     #define SOMClass SOMObject
  43. #endif /* SOMClass */
  44. #ifndef SOMObject
  45.     #define SOMObject SOMObject
  46. #endif /* SOMObject */
  47. #ifndef ODFrame
  48.     #define ODFrame SOMObject
  49. #endif /* ODFrame */
  50. #ifndef ODFacet
  51.     #define ODFacet SOMObject
  52. #endif /* ODFacet */
  53. #ifndef ODObject
  54.     #define ODObject SOMObject
  55. #endif /* ODObject */
  56. #ifndef ODExtension
  57.     #define ODExtension SOMObject
  58. #endif /* ODExtension */
  59. #ifndef ODDesc
  60.     #define ODDesc SOMObject
  61. #endif /* ODDesc */
  62.  
  63. /*
  64.  * End of user-defined types.
  65.  */
  66.  
  67. #define ODDesc_MajorVersion 1
  68. #define ODDesc_MinorVersion 0
  69.  
  70. /*
  71.  * External name shortening if required
  72.  */
  73. #ifdef SOM_USE_SHORT_EXTERNAL_NAMES
  74. #define ODDescClassData d
  75. #endif /* SOM_USE_SHORT_EXTERNAL_NAMES */
  76. /*--------------Migration------------*/
  77.  
  78. #ifdef OLDIBMSOMAPISUPPORT
  79. #define ODDesc_classObj somNewClassReference(ODDesc)
  80. #define _ODDesc ODDesc_classObj
  81. #define ODDescCClassData ODDescClassData
  82. #define ODDescNewClass(major,minor) somNewVersionedClassReference(ODDesc,major,minor)
  83. #endif
  84.  
  85. /* define xxxMetaClass macro to facilitate (cls ## MetaClass) */
  86. #define ODDescMetaClass SOMClass
  87.  
  88. #if PRAGMA_ALIGN_SUPPORTED
  89. #  pragma options align=power
  90. #endif
  91.  
  92. /*
  93.  * Declare the class data structure
  94.  */
  95. SOMEXTERN struct ODDescClassDataStructure {
  96. #ifdef OLDIBMSOMAPISUPPORT
  97.     SOMAny            *classObject;    /* always zero, use somNewClassReference instead */
  98. #else
  99.     long zero;
  100. #endif
  101.     somStaticClassInfo *sci;
  102.     somDToken        instanceDataToken;
  103.     long reserved [3];
  104.     somMToken InitODDesc;
  105.     somMToken SetDescType;
  106.     somMToken SetRawData;
  107.     somMToken GetDescType;
  108.     somMToken GetRawData;
  109. } SOMDLINK ODDescClassData;
  110.  
  111. #if PRAGMA_ALIGN_SUPPORTED
  112. #  pragma options align=reset
  113. #endif
  114.  
  115. #if !defined(ODDesc_Class_Source) && !defined(SOM_Module_oddesc_Source)
  116. #if PRAGMA_IMPORT_SUPPORTED
  117. #pragma import list ODDescClassData
  118. #endif
  119. #endif
  120.  
  121.  
  122. /*
  123.  * New macro for ODDesc
  124.  */
  125. #define ODDescNew() somNewObject(ODDesc)
  126.  
  127. /*
  128.  * Override method: somUninit
  129.  */
  130. #define ODDesc_somUninit(somSelf) \
  131.     SOMObject_somUninit(somSelf)
  132.  
  133. /*
  134.  * New Method: InitODDesc
  135.  */
  136. typedef void   (SOMLINK *somTD_ODDesc_InitODDesc)(ODDesc *somSelf, Environment *ev);
  137. #define somMD_ODDesc_InitODDesc "::ODDesc::InitODDesc"
  138. #define ODDesc_InitODDesc(somSelf,ev) \
  139.     (SOM_Resolve(somSelf, ODDesc, InitODDesc) \
  140.     (somSelf,ev))
  141. #ifndef SOMGD_InitODDesc
  142.     #if (defined(_InitODDesc) || defined(__InitODDesc))
  143.         #undef _InitODDesc
  144.         #undef __InitODDesc
  145.         #define SOMGD_InitODDesc 1
  146.     #else
  147.         #define _InitODDesc ODDesc_InitODDesc
  148.     #endif /* _InitODDesc */
  149. #endif /* SOMGD_InitODDesc */
  150.  
  151. /*
  152.  * New Method: SetDescType
  153.  */
  154. typedef void   (SOMLINK *somTD_ODDesc_SetDescType)(ODDesc *somSelf, Environment *ev,
  155.         ODDescType descType);
  156. #define somMD_ODDesc_SetDescType "::ODDesc::SetDescType"
  157. #define ODDesc_SetDescType(somSelf,ev,descType) \
  158.     (SOM_Resolve(somSelf, ODDesc, SetDescType) \
  159.     (somSelf,ev,descType))
  160. #ifndef SOMGD_SetDescType
  161.     #if (defined(_SetDescType) || defined(__SetDescType))
  162.         #undef _SetDescType
  163.         #undef __SetDescType
  164.         #define SOMGD_SetDescType 1
  165.     #else
  166.         #define _SetDescType ODDesc_SetDescType
  167.     #endif /* _SetDescType */
  168. #endif /* SOMGD_SetDescType */
  169.  
  170. /*
  171.  * New Method: SetRawData
  172.  */
  173. typedef void   (SOMLINK *somTD_ODDesc_SetRawData)(ODDesc *somSelf, Environment *ev,
  174.         ODByteArray* data);
  175. #define somMD_ODDesc_SetRawData "::ODDesc::SetRawData"
  176. #define ODDesc_SetRawData(somSelf,ev,data) \
  177.     (SOM_Resolve(somSelf, ODDesc, SetRawData) \
  178.     (somSelf,ev,data))
  179. #ifndef SOMGD_SetRawData
  180.     #if (defined(_SetRawData) || defined(__SetRawData))
  181.         #undef _SetRawData
  182.         #undef __SetRawData
  183.         #define SOMGD_SetRawData 1
  184.     #else
  185.         #define _SetRawData ODDesc_SetRawData
  186.     #endif /* _SetRawData */
  187. #endif /* SOMGD_SetRawData */
  188.  
  189. /*
  190.  * New Method: GetDescType
  191.  */
  192. typedef ODDescType   (SOMLINK *somTD_ODDesc_GetDescType)(ODDesc *somSelf, Environment *ev);
  193. #define somMD_ODDesc_GetDescType "::ODDesc::GetDescType"
  194. #define ODDesc_GetDescType(somSelf,ev) \
  195.     (SOM_Resolve(somSelf, ODDesc, GetDescType) \
  196.     (somSelf,ev))
  197. #ifndef SOMGD_GetDescType
  198.     #if (defined(_GetDescType) || defined(__GetDescType))
  199.         #undef _GetDescType
  200.         #undef __GetDescType
  201.         #define SOMGD_GetDescType 1
  202.     #else
  203.         #define _GetDescType ODDesc_GetDescType
  204.     #endif /* _GetDescType */
  205. #endif /* SOMGD_GetDescType */
  206.  
  207. /*
  208.  * New Method: GetRawData
  209.  */
  210. typedef ODByteArray   (SOMLINK *somTD_ODDesc_GetRawData)(ODDesc *somSelf, Environment *ev);
  211. #define somMD_ODDesc_GetRawData "::ODDesc::GetRawData"
  212. #define ODDesc_GetRawData(somSelf,ev) \
  213.     (SOM_Resolve(somSelf, ODDesc, GetRawData) \
  214.     (somSelf,ev))
  215. #ifndef SOMGD_GetRawData
  216.     #if (defined(_GetRawData) || defined(__GetRawData))
  217.         #undef _GetRawData
  218.         #undef __GetRawData
  219.         #define SOMGD_GetRawData 1
  220.     #else
  221.         #define _GetRawData ODDesc_GetRawData
  222.     #endif /* _GetRawData */
  223. #endif /* SOMGD_GetRawData */
  224. #ifndef SOM_DONT_USE_INHERITED_MACROS
  225. #define ODDesc_InitObject ODObject_InitObject
  226. #define ODDesc_HasExtension ODObject_HasExtension
  227. #define ODDesc_AcquireExtension ODObject_AcquireExtension
  228. #define ODDesc_ReleaseExtension ODObject_ReleaseExtension
  229. #define ODDesc_Purge ODObject_Purge
  230. #define ODDesc_IsEqualTo ODObject_IsEqualTo
  231. #define ODDesc_SubClassResponsibility ODObject_SubClassResponsibility
  232. #define ODDesc_somInit SOMObject_somInit
  233. #define ODDesc_somInit SOMObject_somInit
  234. #define ODDesc_somDuplicateReference SOMObject_somDuplicateReference
  235. #define ODDesc_somCompareReference SOMObject_somCompareReference
  236. #define ODDesc_somRelease SOMObject_somRelease
  237. #define ODDesc_somFree SOMObject_somFree
  238. #define ODDesc_somCanDelete SOMObject_somCanDelete
  239. #define ODDesc_somGetClass SOMObject_somGetClass
  240. #define ODDesc_somGetClassName SOMObject_somGetClassName
  241. #define ODDesc_somGetSize SOMObject_somGetSize
  242. #define ODDesc_somIsA SOMObject_somIsA
  243. #define ODDesc_somRespondsTo SOMObject_somRespondsTo
  244. #define ODDesc_somIsInstanceOf SOMObject_somIsInstanceOf
  245. #define ODDesc_somDispatch SOMObject_somDispatch
  246. #define ODDesc_somClassDispatch SOMObject_somClassDispatch
  247. #define ODDesc_somCastObj SOMObject_somCastObj
  248. #define ODDesc_somResetObj SOMObject_somResetObj
  249. #define ODDesc_somPrintSelf SOMObject_somPrintSelf
  250. #define ODDesc_somDumpSelf SOMObject_somDumpSelf
  251. #define ODDesc_somDumpSelfInt SOMObject_somDumpSelfInt
  252. #endif /* SOM_DONT_USE_INHERITED_MACROS */
  253.  
  254. #endif       /* SOM_ODDesc_h */
  255.